home *** CD-ROM | disk | FTP | other *** search
/ IRIX Installation Tools & Overlays 2002 November / SGI IRIX Installation Tools & Overlays 2002 November - Disc 4.iso / dist / motif21_dev.idb / usr / Motif-2.1 / include / Xm / PanedWP.h.z / PanedWP.h
C/C++ Source or Header  |  2002-10-15  |  5KB  |  173 lines

  1. /* 
  2.  *  @OSF_COPYRIGHT@
  3.  *  COPYRIGHT NOTICE
  4.  *  Copyright (c) 1990, 1991, 1992, 1993 Open Software Foundation, Inc.
  5.  *  ALL RIGHTS RESERVED (MOTIF). See the file named COPYRIGHT.MOTIF for
  6.  *  the full copyright text.
  7. */ 
  8. /* 
  9.  * HISTORY
  10. */ 
  11. /*   $XConsortium: PanedWP.h /main/12 1995/07/13 17:40:37 drk $ */
  12. /*
  13. *  (c) Copyright 1989, DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. */
  14. /*
  15. *  (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992 HEWLETT-PACKARD COMPANY */
  16. /*
  17. *  (c) Copyright 1988 MASSACHUSETTS INSTITUTE OF TECHNOLOGY  */
  18. /*********************************************************************
  19.  *
  20.  * XmPanedWindowWidget Private Data
  21.  *
  22.  *********************************************************************/
  23.  
  24. #ifndef _XmPanedWP_h
  25. #define _XmPanedWP_h
  26.  
  27. #include <Xm/PanedW.h>
  28. #include <Xm/ManagerP.h>
  29.  
  30. #ifdef __cplusplus
  31. extern "C" {
  32. #endif
  33.  
  34. /* New fields for the PanedWindow widget class record */
  35.  
  36. typedef struct _XmPanedWindowClassPart
  37. {
  38.     XtPointer extension;
  39.  
  40. #ifdef _SGIMOTIF
  41.     XtPointer    _SG_vendorExtension;
  42. #endif
  43.  
  44. } XmPanedWindowClassPart;
  45.  
  46.  
  47. /* Full Class record declaration */
  48.  
  49. typedef struct _XmPanedWindowClassRec {
  50.     CoreClassPart       core_class;
  51.     CompositeClassPart  composite_class;
  52.     ConstraintClassPart constraint_class;
  53.     XmManagerClassPart  manager_class;
  54.     XmPanedWindowClassPart     paned_window_class;
  55. } XmPanedWindowClassRec;
  56.  
  57. externalref XmPanedWindowClassRec xmPanedWindowClassRec;
  58.  
  59.  
  60. /* PanedWindow constraint record */
  61.  
  62. typedef struct _XmPanedWindowConstraintPart {
  63.     int        position;    /* position location in PanedWindow */
  64.     int        dheight;    /* Desired size */
  65.     Position    dy;        /* Desired Location */
  66.     Position    olddy;        /* The last value of dy. */
  67.     Dimension    min;        /* Minimum height */
  68.     Dimension    max;        /* Maximum height */
  69.     Boolean     isPane;         /* true if constraint of pane, false if
  70.                    constraint of sash */
  71.     Boolean    allow_resize;    /* TRUE iff child resize requests are ok */
  72.     Boolean    skip_adjust;    /* TRUE iff child's height should not be */
  73.                 /* changed without explicit user action. */
  74.     Widget    sash;        /* The sash for this child */
  75.     Widget    separator;    /* The separator for this child */
  76.     short       position_index; /* new 1.2 positionIndex resource */
  77.     
  78. #ifdef _SGIMOTIF
  79.     XtPointer    _SG_vendorExtension;
  80. #endif /* _SGIMOTIF */
  81.  
  82. } XmPanedWindowConstraintPart;
  83.  
  84. typedef struct _XmPanedWindowConstraintRec 
  85. {
  86.     XmManagerConstraintPart manager;
  87.     XmPanedWindowConstraintPart  panedw;
  88. } XmPanedWindowConstraintRec, * XmPanedWindowConstraintPtr;
  89.  
  90.  
  91. /* New Fields for the PanedWindow widget record */
  92.  
  93. typedef struct {
  94.     /* resources */
  95.     Boolean     refiguremode;        /* Whether to refigure changes right now */
  96.     Boolean    separator_on;         /* make separator visible */
  97.  
  98.     Dimension      margin_width;         /* space between right and left edges of
  99.                     PanedWindow window and it's children */
  100.     Dimension      margin_height;         /* space between top and bottom edges of
  101.                     PanedWindow window and it's children */
  102.     Dimension   spacing;             /* whitespace between panes
  103.                         around window, else leave none */
  104.     /* sash modifying resources */
  105.     Dimension    sash_width;           /* Modify sash width */
  106.     Dimension    sash_height;           /* Modify sash height */
  107.     Dimension   sash_shadow_thickness; /* Modify sash shadow_thickness */
  108.  
  109.     Position    sash_indent;           /* Location of sashs (offset
  110.                                           from right margin)    */
  111.     /* private */
  112.     int         starty;               /* mouse origin when adjusting */
  113.  
  114.     short    increment_count;      /* Sash increment count */
  115.     short       pane_count;           /* number of managed panes */
  116.     short       num_slots;          /* number of avail. slots for children*/
  117.     short       num_managed_children; /* holds number of managed children */
  118.  
  119.     Boolean     recursively_called;    /* For change_managed AND creation of
  120.                     * private sash and separator
  121.                     * children
  122.                     */
  123.     Boolean     resize_at_realize;    /* For realize if GeometryNo condition */
  124.  
  125.     XmPanedWindowConstraintPtr top_pane;    /* pane closest to 0 index */
  126.     XmPanedWindowConstraintPtr bottom_pane; /* pane farthest away from 0 index*/
  127.  
  128.     GC          flipgc;               /* GC to use when animating borders */
  129.     WidgetList  managed_children;     /* keep track of managed children */
  130.  
  131. #ifdef _SGIMOTIF
  132.     struct _SG_PanedWExtension *_SG_vendorExtension;
  133. #endif
  134.     unsigned char orientation ;     /* horizontal or vertical panedw */
  135.     
  136.     XtIntervalId timer ;            /* handle key event on sash */
  137. } XmPanedWindowPart;
  138.  
  139. #ifdef _SGIMOTIF
  140. struct _SG_PanedWExtension {
  141.     /* note:  ztimer not used in Motif 2.1 */
  142.     XtIntervalId    ztimer;
  143. };
  144. #endif /* _SGIMOTIF */
  145.  
  146. /**************************************************************************
  147.  *
  148.  * Full instance record declaration
  149.  *
  150.  **************************************************************************/
  151.  
  152. typedef struct _XmPanedWindowRec {
  153.     CorePart       core;
  154.     CompositePart  composite;
  155.     ConstraintPart constraint;
  156.     XmManagerPart  manager;
  157.     XmPanedWindowPart   paned_window;
  158. } XmPanedWindowRec;
  159.  
  160.  
  161. /********    Private Function Declarations    ********/
  162.  
  163.  
  164. /********    End Private Function Declarations    ********/
  165.  
  166.  
  167. #ifdef __cplusplus
  168. }  /* Close scope of 'extern "C"' declaration which encloses file. */
  169. #endif
  170.  
  171. #endif /* _XmPanedWP_h */
  172. /* DON'T ADD ANYTHING AFTER THIS #endif */
  173.